/**
 * 腾讯地图底图类型
 */
export type BaseMapType = 'vector' | 'traffic' | 'satellite' | '' | string

/**
 * mapbox底图类型
 */
export type MapboxBaseMapType =
  | 'amap'
  | 'vector'
  | 'imagery'
  | 'wmts'
  | 'wms'
  | ''
  | undefined

/**
 * 底图配置
 */
export interface BaseMapConfig {
  type: MapboxBaseMapType
  id: string
  name: string
  url?: string
  thumbnail?: string
  isDefault?: number
}

/**
 * 鼠标位置经纬度
 */
export interface MousePositionLatLng {
  /**
   * 经度
   */
  longitude: string

  /**
   * 纬度
   */
  latitude: string
}

export interface OptionData {
  label: string
  value: string
}

/**
 * 处理后的接口响应信息
 */
export interface Response<T> {
  success: boolean
  message: any
  data: T
}

export interface PageDataList<T> {
  count: number
  list: T[]
}

export interface DivisionData {
  areaCode: string
  areaName: string
  level: number
  parentCode: string
  pkid: string
  status?: number
  children?: DivisionData[]
  longitude?: string
  latitude?: string
  updateTime?: string
}

/**
 * 表单校验回调函数
 */
export type ValidatorCallback = (error?: string | Error) => void
